package com.cee.admin.common.utils;

/**
 * ip 和 long 相互转换的工具类
 *
 * @author rxliuli
 */
public class IpLongUtils {
    /**
     * 把字符串 IP 转换成 long
     *
     * @param ipStr 字符串 IP
     * @return IP 对应的 long 值
     */
    public static long ipToLong(String ipStr) {
        String[] ip = ipStr.split("\\.");
        return (Long.valueOf(ip[0]) << 24) + (Long.valueOf(ip[1]) << 16)
                + (Long.valueOf(ip[2]) << 8) + Long.valueOf(ip[3]);
    }

    /**
     * 把 IP 的 long 值转换成字符串
     *
     * @param ipLong IP 的 long 值
     * @return long 值对应的字符串
     */
    public static String longToIp(long ipLong) {
        return String.valueOf(ipLong >>> 24) + "." +
                ((ipLong >>> 16) & 0xFF) + "." +
                ((ipLong >>> 8) & 0xFF) + "." +
                (ipLong & 0xFF);
    }
}
